package mapengine.interfaces
{
import values.item.building.FactoryBuildingItemValue;

public interface IFactoryBuilding extends IMapBuilding
{
	/**
	 * 获取数据 
	 * @return 
	 * 
	 */	
	function get factoryBuildingItemValue():FactoryBuildingItemValue;
	
	/**
	 * 是否正在生产中
	 * @return 
	 * 
	 */	
	function get isProducing():Boolean;
	
	/**
	 *  是否在等待收获
	 * @return 
	 * 
	 */	
	function get isProduceComplete():Boolean;
	
	/**
	 *  是否在等待启动生产
	 * @return 
	 * 
	 */	
	function get isWaitingProduce():Boolean;
	
	/**
	 *  开始生产
	 * @param args
	 * 
	 */	
	function produce(productKey:String, time:Number = 0):void;
	
	/**
	 * 收获工厂, 如果背包已满或者没有足够的能量操作则收获失败返回false 
	 * @return 
	 * 
	 */	
	function beforeCollectAction():Boolean;
	
	/**
	 * 完成收获, 进入下一个循环
	 * @return 
	 * 
	 */	
	function finishCollectAction():void;
}
}




